////////////////////////////////////////////////////////////////////////////////////////
//
// JSimpleSim - A machine language simulator based on SimpSim by Anne-Gert Bultena.
//
// Copyright (C) 2008 Gerardo Camorlinga, Ryan Fitzgerald, and RJ Gordon
//
// This file is part of JSimpleSim.
//
// JSimpleSim is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// JSimpleSim is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with JSimpleSim.  If not, see <http://www.gnu.org/licenses/>.
//
////////////////////////////////////////////////////////////////////////////////////////

package jsimplesim.view;

import org.jdesktop.application.Action;

/**
 *
 * @author gcamorlinga
 */
public class JSimpleSimAboutBox extends javax.swing.JDialog {

    /**
	 * 
	 */
	private static final long serialVersionUID = 6275640943059763651L;
	/**
     *
     * @param parent
     */
    public JSimpleSimAboutBox(java.awt.Frame parent) {
        super(parent);
        initComponents();
        getRootPane().setDefaultButton(closeButton);
    }

    /**
     *
     */
    @Action
    public void closeAboutBox() {
        setVisible(false);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        closeButton = new javax.swing.JButton();
        javax.swing.JLabel appTitleLabel = new javax.swing.JLabel();
        javax.swing.JLabel versionLabel = new javax.swing.JLabel();
        javax.swing.JLabel appVersionLabel = new javax.swing.JLabel();
        javax.swing.JLabel homepageLabel = new javax.swing.JLabel();
        javax.swing.JLabel appHomepageLabel = new javax.swing.JLabel();
        javax.swing.JLabel appDescLabel = new javax.swing.JLabel();
        javax.swing.JLabel imageLabel = new javax.swing.JLabel();
        AuthorLabel = new javax.swing.JLabel();
        appAuthorLabel = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(jsimplesim.JSimpleSimApp.class).getContext().getResourceMap(JSimpleSimAboutBox.class);
        setTitle(resourceMap.getString("title")); // NOI18N
        setMinimumSize(new java.awt.Dimension(1000, 200));  // Team Alpha: widened to include post-delivery authors
        setModal(true);
        setName("aboutBox"); // NOI18N
        setResizable(false);
        getContentPane().setLayout(null);

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(jsimplesim.JSimpleSimApp.class).getContext().getActionMap(JSimpleSimAboutBox.class, this);
        closeButton.setAction(actionMap.get("closeAboutBox")); // NOI18N
        closeButton.setText(resourceMap.getString("closeButton.text")); // NOI18N
        closeButton.setName("closeButton"); // NOI18N
        getContentPane().add(closeButton);
        closeButton.setBounds(440, 140, 53, 25);

        appTitleLabel.setFont(appTitleLabel.getFont().deriveFont(appTitleLabel.getFont().getStyle() | java.awt.Font.BOLD, appTitleLabel.getFont().getSize()+4));
        appTitleLabel.setText(resourceMap.getString("Application.title")); // NOI18N
        appTitleLabel.setName("appTitleLabel"); // NOI18N
        getContentPane().add(appTitleLabel);
        appTitleLabel.setBounds(450, 20, 100, 20);

        versionLabel.setFont(versionLabel.getFont().deriveFont(versionLabel.getFont().getStyle() | java.awt.Font.BOLD));
        versionLabel.setText(resourceMap.getString("versionLabel.text")); // NOI18N
        versionLabel.setName("versionLabel"); // NOI18N
        getContentPane().add(versionLabel);
        versionLabel.setBounds(20, 70, 101, 15);

        appVersionLabel.setText(resourceMap.getString("Application.version")); // NOI18N
        appVersionLabel.setName("appVersionLabel"); // NOI18N
        getContentPane().add(appVersionLabel);
        appVersionLabel.setBounds(130, 70, 19, 15);

        homepageLabel.setFont(homepageLabel.getFont().deriveFont(homepageLabel.getFont().getStyle() | java.awt.Font.BOLD));
        homepageLabel.setText(resourceMap.getString("homepageLabel.text")); // NOI18N
        homepageLabel.setName("homepageLabel"); // NOI18N
        getContentPane().add(homepageLabel);
        homepageLabel.setBounds(50, 90, 69, 15);

        appHomepageLabel.setText(resourceMap.getString("Application.homepage")); // NOI18N
        appHomepageLabel.setName("appHomepageLabel"); // NOI18N
        getContentPane().add(appHomepageLabel);
        appHomepageLabel.setBounds(130, 90, 235, 15);

        appDescLabel.setText(resourceMap.getString("appDescLabel.text")); // NOI18N
        appDescLabel.setName("appDescLabel"); // NOI18N
        getContentPane().add(appDescLabel);
        appDescLabel.setBounds(340, 40, 449, 15);

        imageLabel.setName("imageLabel"); // NOI18N
        getContentPane().add(imageLabel);
        imageLabel.setBounds(0, 0, 0, 0);

        AuthorLabel.setFont(resourceMap.getFont("AuthorLabel.font")); // NOI18N
        AuthorLabel.setText(resourceMap.getString("AuthorLabel.text")); // NOI18N
        AuthorLabel.setName("AuthorLabel"); // NOI18N
        getContentPane().add(AuthorLabel);
        AuthorLabel.setBounds(60, 110, 55, 14);

        appAuthorLabel.setText(resourceMap.getString("appAuthorLabel.text")); // NOI18N
        appAuthorLabel.setName("appAuthorLabel"); // NOI18N
        getContentPane().add(appAuthorLabel);
        appAuthorLabel.setBounds(130, 110, 700, 15); // Team Alpha: widened to include post-delivery authors

        pack();
    }// </editor-fold>//GEN-END:initComponents
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel AuthorLabel;
    private javax.swing.JLabel appAuthorLabel;
    private javax.swing.JButton closeButton;
    // End of variables declaration//GEN-END:variables
}
